/**
 * NestFactory.create                     创建普通 Web 服务
 * NestFactory.createMicroservice         创建纯微服务进程
 * NestFactory.createApplicationContext   适用于一次性脚本、CLI、定时任务
 */

import { NestFactory } from '@nestjs/core';
import { NestExpressApplication } from '@nestjs/platform-express';
import { AppModule } from './app.module';

async function bootstrap() {
  // 默认是基于  NestFastify  的，但是生态不好
  // const app = await NestFactory.create(AppModule);
  // 选择 NestExpress出 bug 好找解决方案，官方文档大部分例子都是基于 Express
  const app = await NestFactory.create<NestExpressApplication>(AppModule);

  // ejs 配置模板引擎
  app.setBaseViewsDir('views');
  app.setViewEngine('ejs');

  await app.listen(process.env.PORT ?? 3000);
}
bootstrap();
